<!-- *****************************************************************-->
<!-- *                                                                -->
<!-- *  BBNT Solutions LLC, A part of GTE -->
<!-- *  10 Moulton St.                                                -->
<!-- *  Cambridge, MA 02138                                           -->
<!-- *  (617) 873-2000                                                -->
<!-- *                                                                -->
<!-- *  Copyright (C) 1999-2000                                            -->
<!-- *  This software is subject to copyright protection              -->
<!-- *  under the laws of the United States and other countries.      -->
<!-- *                                                                -->
<!-- *****************************************************************-->
<!-- *                                                                -->
<!-- * $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/package.html,v $-->
<!-- * $Revision: 1.1.1.1 $                                              -->
<!-- * $Date: 2003/02/14 21:35:48 $                                   -->
<!-- * $Author: dietrick $                                            -->
<!-- *                                                                -->
<!-- *****************************************************************-->

<body>

The com.bbn.openmap package contains the core OpenMap classes.  The
classes in this package provide the main map management functionality
of OpenMap.<P>

The main mapping window is the MapBean, which is a JComponent.  It
contains Layers, each layer providing a thematic overlay to
the map.  There is a buffered version of the MapBean called the
BufferedMapBean. <P>

The other main component is the MapHandler.  The MapHandler is an
extended BeanContext, and can be thought of as the widget holding to
all the components that make up a map.  As a BeanContext, the
MapHandler keeps a handle to any object that is put in it, providing
access to all components of the map.  Any component can be added to
the MapHandler.  Any component added to the MapHandler that is a
BeanContextMembershipListener will be automatically notified when any
component is added or removed from the MapHandler.  See the
MapHandlerChild abstract class for more information about creating a
class that uses the MapHandler to locate other needed components.<P>

The extensions to the MapHandler that separate it from a regular
BeanContext really center on the notion that some components can
implement the SoloMapComponent interface.  SoloMapComponents classes
are objects where only one instance of them can be found in a
MapHandler.  The SoloMapComponentPolicy assigned to the MapHandler
lets it know what to do when a duplicate instance of a
SoloMapComponent is given to the MapHandler - either rejection or
replacement are the only options currently provided.<P>

Other components of real interest are:
<UL>
<LI>LayerHandler - manages all layers for the map, those active or
not.
<LI>MouseDelegator - manages how MouseEvents over the map are directed
to layers or other components.
<LI>PropertyHandler - uses properties to configure the application
<LI>InformationDelegator - an object that other components can use to
provide information to the user.
</UL>


</body>
